package com.xqboss.apps.domain.consumer;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.xqboss.apps.enums.user.RealAuthStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 实名认证表
 *
 * @author wangcong
 * @date 2023-09-08
 */
@Data
@ApiModel("实名认证表")
public class ConsumerRealName implements Serializable {

    private static final long serialVersionUID = 1L;


    @TableId
    @ApiModelProperty("主键")
    private Long id;

    /**
     * 实名认证手机号
     */
    @ApiModelProperty("实名认证手机号")
    private String authMobile;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 身份证姓名、真实姓名
     */
    @ApiModelProperty("身份证姓名、真实姓名")
    private String idCardName;

    /**
     * 身份证号
     */
    @ApiModelProperty("身份证号")
    private String idCard;

    @ApiModelProperty("是否是首次实名")
    private Boolean isFirstReal;

    /**
     * 身份证正面图片
     */
    @ApiModelProperty("身份证正面图片")
    private String idCardUrl;

    /**
     * 身份证反面图片
     */
    @ApiModelProperty("身份证反面图片")
    private String idCardOppositeUrl;

    /**
     * 实名认证状态,0未认证,1认证通过,2认证不通过
     */
    @ApiModelProperty("实名认证状态,0未认证,1认证通过,2认证不通过")
    private RealAuthStatusEnum authStatus;

    /**
     * 阿里实人认证唯一ID
     */
    @ApiModelProperty("阿里实人认证唯一ID")
    private String aliFaceCertifyId;


    /**
     * 阿里实人认证URL
     */
    @ApiModelProperty("阿里实人认证URL")
    @TableField(exist = false)
    private String aliFaceCertifyUrl;

    /**
     * 认证通过时间
     */
    @ApiModelProperty("认证通过时间")
    private LocalDateTime authTime;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    @TableLogic
    @ApiModelProperty("删除标记")
    private Boolean delFlag;


}